/**
 * Created by wangyn on 2017/6/5. 座席部门设置
 */
import send from '../http'
export default {

  /**
   * 查询套餐数量
   * @param data {}
   */
  queryVersionNum (data) {
    let req = {
      data: data,
      action: 'config.user.queryVersionNum'
    }
    return send.fetch(req, 'post')
  },
  exportUserExcel (data) {
    let req = {
      data: data,
      action: 'app.excel.exportXls'
    }
    return send.fetch(req, 'post')
  },
  /* 部门增删改查 start */
  /**
   * 查询所有部门
   * @param data.page
   * @param data.limit
   * @returns {*}
   */
  queryDeptList (data) {
    let req = {
      data: data,
      action: 'config.dept.queryDeptList'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 添加部门
   * @param data._id 当前节点id
   * @param data.pId 父节点id
   * @param data.treePath id结构树
   * @param data.name 部门名称
   * @param data.order 部门序号
   * @param data.observer 观察者
   * @param data.note 备注
   * @returns {*}
   */
  addDept (data) {
    let req = {
      data: data,
      action: 'config.dept.addDept'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 修改部门
   * @param data._id 当前节点id
   * @param data.pId 父节点id
   * @param data.treePath id结构树
   * @param data.name 部门名称
   * @param data.order 部门序号
   * @param data.observer 观察者
   * @param data.note 备注
   * @returns {*}
   */
  updateDept (data) {
    let req = {
      data: data,
      action: 'config.dept.updateDept'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 删除部门
   * @param data.deptId 部门id
   * @returns {*}
   */
  delDept (data) {
    let req = {
      data: data,
      action: 'config.dept.delDept'
    }
    return send.fetch(req, 'post')
  },
  /* 部门增删改查 end */

  /**
   * 移动部门
   * @param data {}
   * @param data._id 移动部门的_id
   * @param data.pId 要移动到的部门_id
   * @param data.treePath 要引动到的部门的treePath + 移动的部门_id + '/'
   */
  moveDept (data) {
    let req = {
      data: data,
      action: 'config.dept.moveDept'
    }
    return send.fetch(req, 'post')
  },
  /* 座席增删改查 start */
  /**
   * 查询座席列表
   * @param data.page
   * @param data.limit
   * @param data.deptId 部门id 可选  "noDept"-未分配部门
   * @param data.combox 座席名称 可选
   * @param data.role 角色 可选
   * @param data.beginExten 开始工号 可选
   * @param data.endExten 结束工号 可选
   * @param data.parentId 上级id 可选
   * @param data.status 座席状态 可选 "enable" / "disable"
   * @returns {*}
   */
  queryUser (data) {
    let req = {
      data: data,
      action: 'config.dept.queryUser'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 根据座席id查询座席信息
   * @param data 座席id 例如: data:"1a8f9d10-2b35-11e7-8838-c3497eec9423"
   * @returns {*}
   */
  getUserById (data) {
    let req = {
      data: data,
      action: 'config.user.getUserById'
    }
    return send.fetch(req, 'post')
  },
  /* 导入批量处理座席模板 */
  /**
   * 新版批量更新座席信息
   * @param data.fileName xlsx,excle文件
   * @param data.trueName xlsx,excle文件
   * @param data.owner me
   * @param data.barchNo 时间组成得信息
   * @param data.heads []座席信息
   * @param data.flag start
   */
  userTempImport (data) {
    let req = {
      data: data,
      action: 'app.user.import'
    }
    return send.fetch(req, 'post')
  },
  /* 查询导入模板得状态 */
  /**
   * data: {}
   */
  queryMyLatestTask (data) {
    let req = {
      data: data,
      action: 'app.user.queryMyLatestTask'
    }
    return send.fetch(req, 'post')
  },
  /* 解除客服助手绑定 */
  /**
   * @param data.userId 座席id
   */
  cancelWechatHelperBind (data) {
    let req = {
      data: data,
      action: 'config.user.cancelWechatHelperBind'
    }
    return send.fetch(req, 'post')
  },
  /* 批量解除客服助手绑定 */
  /**
   * @param data.query 查询条件
   */
  batchCancelWechatHelperBind (data) {
    let req = {
      data: data,
      action: 'config.user.batchCancelWechatHelperBind'
    }
    return send.fetch(req, 'post')
  },
  queryUserInfoOutflow (data) {
    let req = {
      data: data,
      action: 'config.user.queryUserInfoConfig'
    }
    return send.fetch(req, 'post')
  },
  addUserInfoOutflow (data) {
    let req = {
      data: data,
      action: 'config.user.addUserInfoOutflow'
    }
    return send.fetch(req, 'post')
  },
  updateUserInfoOutflow (data) {
    let req = {
      data: data,
      action: 'config.user.updateUserInfoConfig'
    }
    return send.fetch(req, 'post')
  },
  deleteUserInfoOutflow (data) {
    let req = {
      data: data,
      action: 'config.user.deleteUserInfoOutflow'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 更新当前座席
   * @param data._id 座席id
   * @param data.deptId 部门id
   * @param data.parentId 上级id
   * @param data.parentId 上级id
   * @param data.role 角色 数组
   * @param data.imClaimStatus 在线咨询自动领取开关状态 "open"/"close"
   * @param data.emailClaimStatus 邮件自动领取开关状态 "open"/"close"
   * @param data.maxImDealCount 最大处理数 "10"
   * @param data.minImDealCount 最小处理数 "1"
   * @param  data.iscallinternation 是否开启国际通话功能 true/false
   * @param data.maxEmailDealCount 邮件最大处理数 "10"
   * @param data.gatewayLoginWay 是否允许sip话机登录 true/false
   * @param data.localLoginWay 是否允许手机登录 true/false
   * @param data.sipLoginWay  是否允许软电话登录 true/false
   * @param data.appLoginWay 是否允许app登录 true/false
   * @returns {*}
   */
  updateUser (data) {
    let req = {
      data: data,
      action: 'config.user.updateUser'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 新版批量更新座席信息
   * @param data.ids []里面包含要批量修改的座席id
   * @param data.set.deptId 修改成的部门id
   * @param data.set.parentId 修改成的上级id
   * @param data.set.role 修改成的角色id 数组
   * @param data.set.maxImDealCount im最大处理数 "10"
   * @param data.set.minImDealCount im最小处理数 "1"
   * @param data.set.imClaimStatus im领取开关状态 "open"/"close"
   * @param data.set.emailClaimStatus 邮件领取开关状态 "open"/"close"
   * @param data.set.maxEmailDealCount 邮件最大处理数 "10"
   * @param data.set.gatewayLoginWay 是否允许sip话机登录 true/false
   * @param data.set.localLoginWay 是否允许手机登录 true/false
   * @param data.set.sipLoginWay  是否允许软电话登录 true/false
   * @param data.set.appLoginWay 是否允许app登录 true/false
   * data.total 批量修改座席的数量number
   * @returns {*}
   */
  batchUpdateUser (data) {
    let req = {
      data: data,
      action: 'config.user.batchUpdateUser'
    }
    return send.fetch(req, 'post')
  },
  /* 座席增删改查 end */
  removeLock (data) {
    let req = {
      data: data,
      action: 'config.user.removeLock'
    }
    return send.fetch(req, 'post')
  }
}
